package com.zb.service.middleware;

import java.util.List;
import java.util.Map;

import com.zb.entity.base.JsonCommon;
import com.zb.entity.base.JsonForHardware;
import com.zb.entity.base.JsonForList;
import com.zb.entity.charger.OmsChargerBespeakBillRecord;
import com.zb.entity.exception.BizException;
import com.zb.service.imp.middleware.vo.ChargerReplyMsgHeader;
import com.zb.tcp.socket.exception.CreateConnectionFailException;
import com.zb.tcp.socket.exception.RetryFailException;
import com.zb.vo.os.RetVO.OrdersStatus;

public interface OmsBespeakService {
	 
	public void bespeakReturn(Map<String, String> map);
	public void cancelBespeakReturn(Map<String,String> map) throws RetryFailException, CreateConnectionFailException;
	public JsonCommon<String> bespeak(Map<String,String> map) throws Exception;
	public JsonCommon<String> cancelBespeak(Map<String,String> map) throws Exception;

	public void ev3c02bespeakReturn(ChargerReplyMsgHeader header) throws Exception;
	public void ev3c2cancelBespeakReturn(ChargerReplyMsgHeader header) throws Exception;

	/*************20160411 perlin add begin ***************************************/
	public JsonForList<OmsChargerBespeakBillRecord> findBespeakBySeriaNoAndUserCard(String userPayCard,	String bespeak_serial_number);
	public JsonForList<OmsChargerBespeakBillRecord> findListByUserCard(String userPayCard, String pageNo,String pageSize);
	/*************20160411 perlin add begin ***************************************/
	public List<OrdersStatus> getOrdersStatus(String orderNos)  throws BizException ;
	public boolean updateOrdersStatus(String orderNos,String type);
	public boolean checkBespeakOrderNoPayInfo(String userCard);
	public boolean checkChargerOrderNoPayInfo(String userCard);
}
